import numpy as np
import matplotlib.pyplot as plt

def plot_interpolation_comparison(x_experiment, y_true, interpolation_results, x_samples, y_samples, title="Interpolation Comparison"):
    """
    绘制插值方法的比较图。
    
    参数:
    x_experiment -- 实验点的 x 值数组
    y_true -- 实验点的真实 y 值数组
    interpolation_results -- 一个字典，保存插值结果，形式为 {"MethodName": y_values}
    x_samples -- 样本点的 x 值数组
    y_samples -- 样本点的 y 值数组
    title -- 图形标题
    """
    plt.figure(figsize=(12, 7))
    plt.plot(x_experiment, y_true, label="True Function", color="black", linewidth=2)

    for method, y_values in interpolation_results.items():
        plt.plot(x_experiment, y_values, label=f"{method} Interpolation", linestyle="--")

    plt.scatter(x_samples, y_samples, color="red", zorder=5, label="Sample Points")
    plt.title(title)
    plt.xlabel("x")
    plt.ylabel("y")
    plt.legend()
    plt.grid(True)
    plt.show()